Home:ALL Converter>How to add/replace psobject

How to add/replace psobject

Ask Time:2020-02-24T00:50:10         Author:best singer

Json Formatter

I am trying to write a script about the state of the server hardware

The following functions have been completed.

Get-SummaryStatus.ps1

Get-Memory.ps1

Get-PowerSupply.ps1

Get-Proecssor.ps1

Get-Fanstatus.ps1


Get-SummaryStatus.ps1 output is
Server         ServerStatus                  
------         ------------                  
AAA            {System.Collections.Hashtable}

$report.server output is 
AAA

$report.serverstatus output is 
Name                           Value                                                                                                            
----                           -----                                                                                                            
MemoryStatus                   OK                                                                                                                                                                                                                                                                                                                                             
PowerStatus                    OK                                                                                                               
ProcessorStatus                OK                                                                                                               
Fanstatus                      OK

Get-Memory.ps1 output is

Server MemoryStatus
------ ------------
AAA {System.Collections.Hashtable, System.Collections.Hashtable}

$report.server output is

AAA

$report.MemoryStatus output is

Name Value
---- -----
MemoryID 1
MemoryStatus OK
MemoryID 2
MemoryStatus OK


Get-PowerSupply.ps1 output is

Server         MemoryStatus                                                
------         ------------                                                
AAA           {System.Collections.Hashtable, System.Collections.Hashtable}

$report.server output is 

AAA


$report.PowerStatus output is 

Name                           Value                                                                                                            
----                           -----                                                                                                            
PowerID                       1                                                                                                               
PowerStatus                   OK                                                                                                               
PowerID                       2                                                                                                               
PowerStatus                   OK

Get-Proecssor.ps1 output Similar to the three above

Get-Fanstatus.ps1 output Similar to the three above

Duo to I have more than 1000 services that need to be monitored, So I want to make the following steps to improve efficiency.

I created a new main function(ServerHealthCheck) and call all sub-founcitons(summary,memory,power...) to main function. (completed)

If the summary state are OK, and then output summarystatus. (completed.)

If Summary memory status is failed. and then will call Get-Memory.ps1 to find which memory is bad.(completed)

If Summary power status is failed. and then will call Get-powersupply.ps1 to find which powersupply is bad.(completed.)

if One of the hardware was failed , I want to rearrange a new object.

my question is How to add/replace object to get expected output? thanks in advance.

Expected output(if summary memory status is failed):

Server         ServerStatus                  
------         ------------                  
AAA            {System.Collections.Hashtable}

$report.server output is 
AAA

$report.serverstatus output is

Name                           Value                                                                                                            
----                           -----                                                                                                            
MemoryID                       1   
MemoryStatus                   failed                                                                                                                                                                                                                                                                                                                       
PowerStatus                    OK                                                                                                               
ProcessorStatus                OK                                                                                                               
Fanstatus                      OK


Author:best singer,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/60364538/how-to-add-replace-psobject
yy